﻿using System;
namespace Microsoft.Data.Edm
{
    /// <summary>
    /// Represents a parameter of an EDM function.
    /// </summary>
    public interface IEdmFunctionParameter : IEdmNamedElement, IEdmVocabularyAnnotatable, IEdmElement
    {
        /// <summary>
        /// Gets the type of this function parameter.
        /// </summary>
        IEdmTypeReference Type
        {
            get;
        }
        /// <summary>
        /// Gets the function or function import that declared this parameter.
        /// </summary>
        IEdmFunctionBase DeclaringFunction
        {
            get;
        }
        /// <summary>
        /// Gets the mode of this function parameter.
        /// </summary>
        EdmFunctionParameterMode Mode
        {
            get;
        }
    }
}